Hibernate JPA和Spring javax.persistence.TransactionRequiredException:没有事务正在进行中

我打电话的时候: entityManager.flush() 我得到标题中提到的例外。 我正在使用Hibernate JPA。

sockets如何连接和关闭?

我正在使用Java套接字客户端。 在服务器仍然连接到我的客户端但它没有发送响应我的消息的情况下 – 我最终得到一个读取超时exception。 在这种情况下,我想测试是否应该重新连接我的套接字或只是让它重新使用它。 我用这个条件: if (!socket.isConnected() || socket.isClosed() || !socket.isBound()) { try { socket.close(); } catch (IOException e1) { } // Wait on a new connection socket = connectSocket(…..); } 但我似乎总是重新联系。 当我记录布尔属性的值时,我看到: connected:true closed:true bound:true 如何连接和关闭? TIA

翻转卡片动画

我正在尝试翻转彩色矩形。 是否可以使用rotateTransition来执行此操作? 我试过以下代码: public void rotateField(){ RotateTransition rt = new RotateTransition(Duration.millis(3000), field[4][4]); rt.setByAngle(360); rt.setCycleCount(1); rt.play(); } 但是,这不会翻转矩形,只是旋转它。 我想实际翻转矩形,就像你翻转一张扑克牌一样。 是否可以使用rotateTransition类?

Freemarker:如何使用枚举作为键来迭代Map

以下代码不起作用,因为Freemarker似乎将[]中的表达式的值转换为String,然后将其用作键,这不是实际预期的。 准备模板模型: Map myMap; myMap.put(MyEnum.FOO, “Foo”); myMap.put(MyEnum.BAR, “Bar”); templateModel.put(“myMap”, myMap); my.ftl: ${key} = ${value} 在Freemarker文档中,它描述了如何访问Enum本身,但我没有找到任何关于如何使用Enum作为键从哈希值中获取值。 谢谢。

如何在磁盘上保存列表项而不是Java中的内存

我正在寻找与Java中的ArrayList相同的数据结构,它将项目保存在磁盘上而不是内存中。 java有这样的数据结构吗? 谢谢 我希望有一个动态结构,将项目保存在内存中,当它的大小超过某个值时,将新项保存在磁盘上,直到大小低于该值。

什么是@JoinColumn以及如何在Hibernate中使用它

我一直在阅读很多关于@JoinColumn的内容,但我仍然不了解它背后的想法。 病人表 CREATE TABLE patient ( patient_id BIGINT NOT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, PRIMARY KEY(patient_id)); 车辆表 CREATE TABLE vehicles ( patient_id BIGINT NOT NULL, vehicle_id BIGINT NOT NULL, vehicle_manufacturer VARCHAR(255), PRIMARY KEY (vehicle_id), CONSTRAINT patienthasmanyvehicle FOREIGN KEY(patient_id) REFERENCES patient(patient_id)); 患者类 @OneToMany(mappedBy = “patient”) private Collection patientVehicles = new ArrayList(); 车辆类 […]

使用抽象超类作为Spring数据存储库的参数

我知道spring数据存储库的实现: 创建一个这样的界面: public interface CountryRepository extends CrudRepository {} 现在Country是一个AbstractCatalog目录,我在矿山项目中有很多(很多)目录。 我想知道我是否可以创建一个适用于所有目录的存储库: public interface AbstractCatalogRepository extends CrudRepository {} 现在有了保存,我没有直接看到问题,但如果我想搜索一个AbstractCatalog我已经确定我会碰壁,因为回购不会知道他必须选择什么对象。 AbstractCatalog.class @MappedSuperclass public abstract class AbstractCatalog extends PersistentEntity { /** * The Constant serialVersionUID. */ private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private Integer id; /** * The code. */ @Column(unique = true, nullable […]

JAXB映射到JSON

我编写了一个JAX-RS(Jersey)REST服务,它接受ONIX XML格式的XML消息。 通常,我已经使用xjc从给定模式生成了JAXB绑定的所有必需类。 整体上有500多个课程,我无法修改它们。 现在,当我有一个JAXB映射对象时,我需要将它存储到数据库中。 我使用mongoDb,因此消息格式应该是JSON。 我尝试使用Jackson和JAXB模块将JAXB对象转换为JSON,这对于存储数据非常有用。 但是当我尝试将JSON转换回JAXB对象时,它会以某种方式抛出与JAXBElement连接的exception。 在谷歌我发现jackson不支持JAXBElement,我必须解决这个问题。 但我不能这样做,因为我无法修改JAXB生成的类。 有没有办法用其他方法将JAXB对象映射到JSON,但是它将遵循整个JAXB规范,以便将来从JSON转换为JAXB对象和签证没有问题?

嘲弄保护方法

我想模拟一个inheritance的受保护方法。 我无法直接从java代码调用此方法,因为它inheritance自另一个包中的类。 我无法找到一种方法来指定这个方法来存入when(…) package a; public class A() { protected int m() {} } package b; public class B extends aA { // this class currently does not override m method from aA public asd() {} } // test package b; class BTest { @Test public void testClass() { B instance = PowerMockito.spy(new B()); PowerMockito.when(instance, […]

在Java中关闭输入流

我在try / catch块中有以下代码段 InputStream inputstream = conn.getInputStream(); InputStreamReader inputstreamreader = new InputStreamReader(inputstream); BufferedReader bufferedreader = new BufferedReader(inputstreamreader); 我的问题是,当我必须在finally块中关闭这些流时,是否必须关闭所有3个流,或者只是关闭befferedreader将关闭所有其他流?