Tag: orm

Ebean或锡耶纳有多成熟?

在上一次我听到很多关于hibernate的抱怨。 事实上,我对hibernate也有一些痛苦的经历。 所以我读到了Ebean和锡耶纳 。 两者都有有趣的方法。 不幸的是,数据库访问层很容易编写,但是如果你的项目增长并且你必须处理好的数据库表,你就会知道它们是否好。 所以评估这样一个工具真的很难。 Hibernate是众所周知的,你可以肯定你可以解决它的问题。 有时你需要学习很多,但你可以解决它。 Ebean怎么样? 有没有真实的应用程序? 支持哪些数据库? 它可靠吗? 在搜索了一下后,我发现有更多的ORM框架,那么至少有一个可靠的框架吗?

Hibernate使用错误的表名来表达具有三级inheritance的表达式

在我们的项目中,我们有不同类别呈现的不同用户类型。 我们有一个BaseEntity类作为@MappedSuperclass。 当我们尝试使用带有InheritanceType.JOINED的用户类时,hibernate会创建一个我们认为错误的sql。 基本实体: @MappedSuperclass public abstract class BaseEntity implements java.io.Serializable { private Integer id; private Date createdDate = new Date(); public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @Temporal(TemporalType.TIMESTAMP) @Column(name = “CREATED_DATE”, nullable = true) public Date getCreatedDate() { return createdDate; } public void setCreatedDate(Date createdDate) […]

如何显示本地h2数据库(Web控制台)的内容?

最近我加入了一个新的团队,这里的人们使用h2进行存根服务。 我想知道我是否可以使用Web界面显示此数据库的内容。 在工作中,可以访问localhost:5080 我有一个项目,我使用h2数据库,但当我点击localhost:5080时,我看不到h2 web控制台 我也试过localhost:8082 – 它也不起作用。 我的项目配置(成功运行): classpath:hibernate-test.cfg.xml false UTF-8 true create-drop 我没有想法如何访问h2 web控制台。 请帮忙。 PS 我只在.m2文件夹中看到了h2的提及 PS2 我注意到http://localhost:8082/可以使用web控制台,如果在配置中替换url: 但是如果我已经启动了h2(在.m2文件夹中找到h2 jar文件并点击双击)它就可以了 如果我在启动应用程序时未启动h2 – 我看到以下错误: java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:94) … Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘dbInitializer’: Invocation of init method failed; nested exception is org.hibernate.exception.GenericJDBCException: Could not open […]

避免通过JPA向数据库表插入’null’值

我从JPA2开始,到目前为止感觉相当舒适。 但是,当使用默认值为NON NULL数据库字段保留具有null属性值的实体时,我遇到了问题。 我希望能够将实体属性保留为null并让数据库插入默认值。 我目前的设置是使用PostgreSQL的openJPA。 我有这个VERSION数据库表(Vorgabewert =默认值): Spalte | Typ | Attribute —————-+—————————–+—————————- status_ | smallint | not null Vorgabewert 0 time_ | timestamp without time zone | not null system_time | timestamp without time zone | not null Vorgabewert now() version | character varying(20) | not null activationtime | timestamp without time zone | […]

使用hibernate注释导出模式

我正在使用hibernate注释,我想导出我的数据库架构。 类似于使用hbm xml文件的schemaexporttask。

EJB3和手动层次结构持久性

我有一个遗留数据库,我使用EJB3进行建模。 数据库的状况非常糟糕,我们对数据库的插入方式有一些不寻常的限制。 现在我想在一个适合数据库结构的层次结构中建模数据库,但我希望能够单独手动插入每个实体,而不会让持久性管理器试图保持实体子项。 我正在尝试类似以下内容(样板左侧): @Entity @Table(name = “PARENT_TABLE”) public class Parent { @Id @Column(name = “ID”) int id; @OneToMany List children; } @Entity @Table(name = “CHILD_TABLE”) public class Child { @Id @Column(name = “ID”) int id; } 现在这引发了一个exception: java.lang.IllegalStateException: During synchronization a new object was found through a relationship that was not marked cascade PERSIST […]

优点与缺点:Hibernate与EJB 3

Hibernate和EJB3相对于彼此有什么优缺点? 我找到了这篇文章,但它并没有真正解决我的问题。 如果我对这两种技术没有任何特殊的联系,那会导致我选择一种技术吗? 或者是否有我想要同时使用它们的情况? 谢谢,扎克 编辑:回应评论:我对EJB3了解不多。 我只是想了解它是否适​​用于我的公司。 如果EJB3不能与Hibernate相媲美,请解释原因。

在JPA / Hibernate中建模两对多关系

我有以下实体关系问题。 “游戏”必须有两个(并且只有两个)“团队”对象。 一个“团队”可以有很多“游戏” 据我所知,这是一种二对多的关系。 但是……我不知道如何在JPA中对此进行建模。 比如,我打算做这样的事…… @Entity public class Team extends BaseObject { private Long id; private Set games; @Id @GeneratedValue(strategy = GenerationType.AUTO) public Long getId() {return id;} public void setId(Long id) {this.id = id;} @OneToMany(mappedBy = “game”) public Set getGames() {return games;} public void setGames(Set games) {this.games = games;} } @Entity public class Game […]

JPA:关于在删除实体之前合并实体的问题

我知道我必须在删除它之前合并该实体,但我从未想过我必须在EJB中执行它。 首先,我有这些: e = (Event) scholarBean.merge(e); scholarBean.remove(e); 在我的托管bean中。 它给了我这个错误 java.lang.IllegalArgumentException: Entity must be managed to call remove: com.scholar.entity.Event@998, try merging the detached and try the remove again. 那么我将这两行放在我的会话bean中,它就可以了。 知道为什么吗? Managed Bean myEJB.deleteEvent(e); 和 myEJB.java public void deleteEvent(Event e){ e = (Event) merge(e); em.remove(e); }

通常的hibernate性能陷阱

我们刚刚完成了我们的应用程序。 (她开始变慢)。 问题似乎是“在hibernate状态”。 这是一个遗留映射。 谁工作,做它的工作。 关系背后的关系也是好的。 但是有些要求很慢。 因此,我们将不胜感激任何关于hibernate常见和常见错误的输入,这些错误最终会导致响应缓慢。 例如:渴望代替懒惰可以大大改变响应时间…. 编辑:像往常一样,阅读手册往往是个好主意。 整章涵盖了这个主题: http://docs.jboss.org/hibernate/core/3.3/reference/en/html/performance.html