entityManager持久性与字段类型bigDecimal的不一致行为

时间:2013-02-10 18:26:33

标签: java jpa eclipselink derby bigdecimal

我使用实体管理器来保存几个类型的数据,比如int byte string double等,这很好用 我在实体类类型bigDecimal中添加了字段,我可以在调试对象包含的代码时看到 值类型为bigDecimal。 当我从表中读取数据时,我得到所有类型的条目,但不是bigDecimal的条目(得到0) 任何想法可能是什么原因。 我验证该类包含bigDecimal的get和set。 顺便说一句,我使用derby DB和eclipselink

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

这是实体

@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());
            }

0 个答案:

没有答案