【发布时间】:2015-07-09 00:26:40
【问题描述】:
数据库(用户)
ID 姓名
1 阿里
2 阿布
3 艾哈迈德-
WriteBinaryFile.java
EntityManagerFactory emf = Persistence.createEntityManagerFactory("UserPU"); EntityManager em = emf.createEntityManager(); Query query1 = em.createNativeQuery("select * from user",User.class); List<User> list = query1.getResultList(); for(User userList: list){ FileOutputStream fos = new FileOutputStream("test.dat"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(userList); oos.close(); } -
ReadBinaryFile.java
FileInputStream fis = new FileInputStream("test.dat"); ObjectInputStream ois = new ObjectInputStream(fis); User user1 = (User) ois.readObject(); ois.close(); System.out.println(user1.getID+" "+user1.getName()); 当我阅读 ReadBinaryFile.java 时,我只能得到如下输出:
3 艾哈迈德我的预期输出:
1 阿里
2 阿布
3 艾哈迈德我做错了什么?我该如何解决?
【问题讨论】:
-
问题显然出在
List<User> list中包含的数据上。进行适当的调试以找出查询返回单个结果而不是所有结果的原因。
标签: java jpa binaryfiles