我正在编写一个简单的项目,一个用Swing编写的业务应用程序,使用Hibernate作为后端.我来自Spring,这给了我简单的方法来使用hibernate和事务.无论如何,我设法让Hibernate工作.昨天,在编写一些代码来从DB中删除bean时,我得到了这个:
org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions
Run Code Online (Sandbox Code Playgroud)
删除代码很简单:
Session sess = HibernateUtil.getSession();
Transaction tx = sess.beginTransaction();
try {
tx.begin();
sess.delete(ims);
} catch (Exception e) {
tx.rollback();
throw e;
}
tx.commit();
sess.flush();
Run Code Online (Sandbox Code Playgroud)
而我的HibernateUtil.getSession()是:
public static Session getSession() throws HibernateException {
Session sess = null;
try {
sess = sessionFactory.getCurrentSession();
} catch (org.hibernate.HibernateException he) {
sess = sessionFactory.openSession();
}
return sess;
}
Run Code Online (Sandbox Code Playgroud)
其他细节:我从未在我的代码中关闭hibernate会话,只是关闭应用程序.这是错的吗?为什么我在删除时得到这个(只有那个bean,其他人都可以工作),而我没有进行其他操作(插入,查询,更新)?
我读了一遍,我试图getSession简单地修改我的方法sessionFactory.getCurrentSessionCall(),但我得到了:org.hibernate.HibernateException: No CurrentSessionContext configured!
Hibernat conf:
<hibernate-configuration> …Run Code Online (Sandbox Code Playgroud) 因为我的Elasticsearch服务器位于代理服务器后面,所以我无法使用bin下的命令直接安装插件.
所以我尝试在plugins目录中解压缩其中的一些,没有运气.
具体来说,我尝试了这个https://github.com/jprante/elasticsearch-knapsack,我无法让它工作.
有帮助吗?
前一天,我的老板问我,他想从网络应用程序中获取PDF格式的发票.鉴于每个人都使用JasperReports和iReport进行设计,我试过了.我的Web应用程序基于Java + Hibernate和Spring.起初Jasper看起来很好,而iReport也是如此.无论如何,我被两件事所阻止:
我见过DynamicJasper,但似乎我无法用它来设计报告.你怎么看?是否更容易使用替代品?
假设我有:
@RequestMapping(params = "action=nuovoprodotto")
public ModelAndView nuovoProdotto(
@RequestParam(value = "page", required = false, defaultValue = "-1") int page,
@RequestParam(value = "action") String action,
@ModelAttribute Prodotto prod, HttpSession session)
throws Exception {
Run Code Online (Sandbox Code Playgroud)
是否可以将此请求映射为两个或三个"action"参数值?
我试过很多方法
@RequestMapping(params = "action=nuovoprodotto, action=salvaprodotto")
Run Code Online (Sandbox Code Playgroud)
要么
@RequestMapping(params = "action=nuovoprodotto|salvaprodotto")
Run Code Online (Sandbox Code Playgroud)
但它们不起作用...如果我不能解决什么问题,那么除了为每个参数值组合编写处理程序外?
我需要了解一个Web应用程序如何使用HTTPS.但我真的找不到有关它的更多信息.我试图设置我的本地Apache,但我找不到CA autorithy签署我的证书...提示?建议?
我为Hibernate + MySQL编写了一个项目.现在我将它移植到德比(出于多种原因).
现在我发现在查询中使用LIKE时,Derby区分大小写.这可以使用Restrictions.ilike(...)Criteria查询来解决...但我有许多使用它的复杂 HQL查询.有没有办法ilike在HQL中使用类似的功能?
你如何从一年中的第n天到日期,如:
getdatefromday(275, 2012)
Run Code Online (Sandbox Code Playgroud)
它输出一个日期(如果一个对象更好).
我也想做相反的事情,比如说 getdayoftheyear("21 oct 2012")
我已经使用Spring MVC三个月了.我正在考虑一种动态添加RequestMapping的好方法.这需要将控制器部件放入库中,然后以动态方式添加它们.无论如何,我能想到的唯一方法就是声明一个这样的控制器:
@Controller
@RequestMapping("/mypage")
public class MyController {
@RequestMapping(method = RequestMethod.GET)
public ModelAndView mainHandler(HttpServletRequest req) {
return handleTheRest(req);
}
}
Run Code Online (Sandbox Code Playgroud)
哪个不好,因为基本上我没有使用Spring.然后我不能使用表单绑定,注释等.我想将requestMappings动态添加到可以像通常的MVC控制器一样注释的类的方法,并使用自动绑定,这样我就可以避免手动处理HttpServletRequest.
有任何想法吗?}
我在Spring项目中使用Hibernate和DBCP来管理mySQL连接.
一切都很好.唯一的问题是,如果应用程序保持静止很长时间,它将抛出异常,因为连接已死(如果我在应用程序启动时重新启动mySQLd也是如此).这不是什么大问题,因为用户将获得异常页面(或自定义页面),重新加载将解决问题.但我想解决它.以下是例外的一部分:
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
Run Code Online (Sandbox Code Playgroud)
**开始没有异常**
java.io.EOFException MESSAGE:无法读取服务器的响应.预计读取4个字节,在连接意外丢失之前读取0个字节.
堆栈跟踪:
java.io.EOFException:无法读取服务器的响应.预计读取4个字节,在连接意外丢失之前读取0个字节.
我google了一下,我发现使用mysql我应该将dbcp.BasicDataSource属性设置testOnBorrow为true,我已经在我的servlet-context.xml中完成了:
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://${mySQL.host}/${mySQL.db}" />
<property name="username" value="${mySQL.user}" />
<property name="password" value="${mySQL.pass}" />
<property name="testOnBorrow" value="true"></property>
</bean>
Run Code Online (Sandbox Code Playgroud)
但问题仍然存在.有线索吗?
解!我用了:
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://${mySQL.host}/${mySQL.db}" />
<property name="username" value="${mySQL.user}" />
<property name="password" value="${mySQL.pass}" />
<property name="testOnBorrow" value="true"></property>
<property name="validationQuery" value="SELECT 1"></property>
</bean>
Run Code Online (Sandbox Code Playgroud) 我的意思是,开罗是否使用opengl acelerated原语绘制线条,形状和所有内容?如果没有,一个图书馆这样做?