草庐IT

java - 如何使用 Hibernate @ColumnTransformer 加密 Postgres 中的列

我正在尝试加密我的prostrgres数据库中的列。列名是“bytea”类型的“test”。我的实体代码如下,@ColumnTransformer(forColumn="test",read="pgp_sym_encrypt(test::bytea,'mySecretKey')",write="pgp_sym_decrypt(?,'mySecretKey')")privateStringtest;当我尝试检索实体时,我得到了如下所示的加密数据。如何以编程方式获取解密值?但是如果我执行postgres选择查询,我会得到实际值。"test":"\\xc30d04070302474627ea

java - Java ORM for MongoDB 的开销是多少

为MongoDB使用JavaORM的开销是多少,或者我们最好在基本驱动程序级别进行读取或写入?我们将根据我们的要求之一添加MongoDB。有几个用于java的javaORM映射工具-吗啡-Spring数据-othersMorphia上一版本发布于一年多前但Spring数据是积极维护的。如果我现在要开始,应该使用哪个, 最佳答案 使用ORM会降低性能,但会加快开发速度。这里有一个权衡。对于ORM工具,Morphia是最稳定的。Here您可以通过性能找到Morphia和BasicMongo驱动程序之间的比较。

java - hibernate 多对多-获取方法渴望与懒惰

Hibernate新手。我有用户组多对多关系。三张表:User、Group和UserGroup映射表。实体:@Entity@Table(name="user")publicclassUser{@Id@Column(name="username")privateStringuserName;@Column(name="password",nullable=false)privateStringpassword;@ManyToMany(cascade={CascadeType.ALL},fetch=FetchType.EAGER)@JoinTable(name="usergroup",jo

java - 有没有办法用 JPA/hibernate 滚动结果?

我在Toplink中发现了一些提示Queryquery=em.createQuery("SELECTeFROMEmployeeeORDERBYe.lastNameASC,e.firstNameASC");query.setHint("eclipselink.cursor.scrollable",true);ScrollableCursorscrollableCursor=(ScrollableCursor)query.getSingleResult();Listemps=scrollableCursor.next(10);是否有jpa/hibernate替代方案?

java - 通常的 hibernate 性能陷阱

我们刚刚完成对应用程序的分析。(她开始变慢了)。问题似乎是“处于hibernate状态”。这是一个遗留映射。谁工作,做什么工作。后面的关系模式也可以。但是有些请求非常慢。因此,我们将不胜感激任何关于hibernate常见和常见错误的反馈,这些错误最终会导致响应缓慢。示例:用Eager代替Lazy可以显着改变响应时间....编辑:像往常一样,阅读手册通常是个好主意。这里有一整章涵盖这个主题:http://docs.jboss.org/hibernate/core/3.3/reference/en/html/performance.html 最佳答案

java - 如何映射 Map<String,Double>

我试过了@ManyToMany(cascade=CascadeType.ALL)Mapdata=newHashMap();但它会产生错误:org.hibernate.AnnotationException:Useof@OneToManyor@ManyToManytargetinganunmappedclass:com.company.Klass.data[java.lang.Double]atorg.hibernate.cfg.annotations.CollectionBinder.bindManyToManySecondPass(CollectionBinder.java:1016

java - Hibernate的原生查询和缓存机制

我有一个关于Hibernate缓存机制的问题。我在文章中读到,在Hibernate中执行nativeSQLquery会使缓存的所有区域无效,因为Hibernate不知道它将影响哪个特定实体。这里所有区域的缓存意味着我们是在谈论二级缓存的各个区域还是二级缓存(一级缓存,二级缓存)或仅二级缓存或仅一级缓存? 最佳答案 使用SQLQuery,Hibernate无法知道您可能会影响哪些缓存区域,但幸运的是您可以明确地指示它:SQLQuerysqlQuery=session.createSQLQuery("UPDATECUSTOMERSET.

java - 如何为 JPA-Hibernate 定义非 JTA 数据源? org.hibernate.connection.DatasourceConnectionProvider - 找不到数据源 :

我正在尝试将我的Web应用程序的JDBC代码更改为使用Hibernate作为提供程序的JPA。我正在使用EclipseIDE。在那里我定义了一个MySQL数据源。我在persistence.xml中添加了它。但是,我收到以下错误。6640[30289364@qtp-7494106-7]ERRORorg.hibernate.connection.DatasourceConnectionProvider-Couldnotfinddatasource:tamSqljavax.naming.NameNotFoundException;remainingname'tamSql'我的persist

java - JPA/Hibernate 将动态列映射为对象列表

我有一个现有的数据库模式,我正在尝试使用JPA/Hibernate注释对其进行ORM。该模式旨在允许客户端将额外信息与表中的每一行相关联。而不是使用键值模式现有解决方案在安装时确定所需的动态列数,并将表更改为为动态字段添加额外的列。实际上,每个表都有一组已知/固定的列和一组动态列。|table:X||id|known1|known2|dynamic1|dynamic2|..|dynamicx|参数表指示哪些表具有额外的动态字段|table:parameter||table|column|meta||x|dynamic1|||x|dynamic2|||x|dynamicx|||y|dyn

java - 如何使用 hibernate 跟踪结果集大小?

我正在尝试检测和优化Java/Hibernate应用程序中的低效连接。我注意到在某些情况下,由于在结果集中处理连接的方式的性质,在线数据流效率非常低。让我举个例子。假设您有一个如下所示的HQL查询:selectsfromStoresleftjoinfetchs.itemsileftjoinfetchs.employeeseleftjoinfetchs.customerscwheres.id=:id(暂时忽略这不是一个智能查询-这只是一个简化的示例)。如果您想象一家给定的商店有1000件商品、10名员工和100名顾客,您将得到一个包含1111个实体的Java对象树。这可能会让您误以为从数