1

我使用实体管理器为 int byte string double 等几种类型保存数据,这工作正常我将字段添加到实体类类型 bigDecimal 并且在调试对象包含值类型 bigDecimal 的代码时我可以看到。当我从表中读取数据时,我得到了所有类型的条目,但没有得到 bigDecimal(got 0) 的条目,知道这可能是什么原因。我验证该类包含为 bigDecimal 获取和设置。顺便说一句,我将 derby DB 与 eclipselink 一起使用

发生了一些奇怪的事情,这是我调试过程的不一致行为,两次我能够看到 bigdecimal 数据......

这是实体

@Entity
public class emp {

    @Id
    @GeneratedValue(strategy = GenerationType.TABLE)
    private int id;
    private String firstName;
    private String lastName; 
        private BigDecimal bigDecimal;

这是保存数据的代码,这里的对象包含所有的值

entityManager.getTransaction().begin();
entityManager.persist(object);
entityManager.getTransaction().commit();

这是读取数据的代码

        factory = Persistence.createEntityManagerFactory("abc");
        EntityManager entityManager = factory.createEntityManager();

String className = classOjc.toString();

            Query query = entityManager.createQuery("SELECT p FROM " + className + " p");

            @SuppressWarnings("rawtypes")
            List resultList = query.getResultList();

            System.out.println(resultList.size());

            for (Object result : resultList) {

                System.out.println(result.toString());
            }
4

0 回答 0