Question: I have an entity that has a collection in it. The collection is a OneToMany unidirectional relationship storing who viewed a particular file. The problem I am having is that after I load the entity and try to update the collection, I don't get any errors, but the collection is never updated:

Entity:

```
@OneToMany(cascade = CascadeType.PERSIST)
@JoinTable
protected List<User> users;

```

File Servlet

```
@In
private EntityQuery<File> File_findById;

...

File file = File_findById(fileId);
file.getUsers().add(user);
session.update(file);

```

Even though I call `session.update(file)` and I see stuff in hibernate logs, I don't see anything in the database indicating that it was saved.

Walter

Answer: 
I've found more detailed API documentation. Indeed the ftdiDevice.read function is blocking unless you set the readTimeout value other then 0. Setting this timeout value solved the problem.

Thanks for your quick response.  

Regards
Checking out the API, it looks to me that the driver is capable of emulating a COM port. I see the GetComPort() method returning a "COMx" string. That makes it pretty likely that you can use the System.IO.Ports.SerialPort class. Which already does what your wrapper is trying to do, it supports a DataReceived event. Worth a shot.