除非访问集合,否则Hibernate OneToMany FetchType.LAZY无法正常工作?

我使用spring 4.1.4.RELEASE + hibernate 4.3.6.Final,这是我的实体代码: public class BaseEntity implements Serializable { } public class MarketInfo extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = “id”) private int id; @Column(name = “market_id”, unique = true, length = 15) private String marketId; @OneToMany(fetch = FetchType.LAZY, mappedBy = “market”) private List channelGroups; public List getChannelGroups() { return channelGroups; […]

java-cassnadra object地址映射的冻结注释<text,frozen <list <frozen >>>,

我正在尝试将数据插入到Cassandra中(2.1.9)我的Java对象有一个UDT列表的映射。 在运行代码时,我收到有关@Frozen注释的错误。 我正在使用DataStax(2.1.9)库。 http://docs.datastax.com/en/drivers/java/2.1/index.html?com/datastax/driver/mapping/annotations/FrozenValue.html create table user{ name text, addresses map<text, frozen<list<frozen>>>, } 我的Java类 public class User{ private String name; @FrozenValue private Map<String, List> addresses; } 但我得到了以下错误 java.lang.IllegalArgumentException: Error while checking frozen types on field addresses of entity com.dante.data.model.User: expected AddressUDT to be frozen but was not frozen at com.datastax.driver.mapping.AnnotationChecks.validateAnnotations(AnnotationChecks.java:73) ~[cassandra-driver-mapping-2.1.7.jar:na] at com.datastax.driver.mapping.AnnotationParser.parseEntity(AnnotationParser.java:81) ~[cassandra-driver-mapping-2.1.7.jar:na] at […]

模拟对象创建内部方法测试中

我有一个我想测试的类。只要有可能,我会依赖于其他类的对象对该类进行dependency injection。但是,我遇到了一个案例,我想在没有重构代码的情况下模拟对象而不是申请DI。 这是被测试的课程: public class Dealer { public int show(CarListClass car){ Print print=new Print(); List list=new LinkedList(); list=car.getList(); System.out.println(“Size of car list :”+list.size()); int printedLines=car.printDelegate(print); System.out.println(“Num of lines printed”+printedLines); return num; } } 我的测试类是: public class Tester { Dealer dealer; CarListClass car=mock(CarListClass.class); List carTest; Print print=mock(Print.class); @Before public void setUp() throws Exception { dealer=new Dealer(); […]

在hibernate本机查询中获取新创建的行ID

sess.createSQLQuery(“INSERT INTO ARCHIVE (folder) VALUES(:folder)”) .setParameter(“folder”,path) .executeUpdate(); 我想拥有新创建的对象的id。 我怎样才能做到这一点?

将Crashlytics集成到React Native – Android

我已成功为我们的React Native项目设置了iOS的Crashlytics集成,并且设法也注册了Android版本。 唯一的问题是它只报告与Java /系统相关的崩溃 – 如果抛出了javascriptexception,它就不会在报告中注册。 我想让它工作,因为iOS版本已经具有该function。 我已经按照Fabric文档和这个问题所述设置了报告 – 请参阅第二个答案,我在MainActivity中添加了onCreate 。 接下来我尝试根据此问题评论创建自己的NativeModuleCallExceptionHandler。 代码如下: package com.mypackage; import com.facebook.react.bridge.NativeModule; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.modules.core.JavascriptException; import com.facebook.react.bridge.NativeModuleCallExceptionHandler; import java.util.Map; import com.crashlytics.android.Crashlytics; class CrashlyticsErrorModule extends ReactContextBaseJavaModule { public CrashlyticsErrorModule (ReactApplicationContext reactContext) { super(reactContext); addExceptionHandler(reactContext); } @Override public String getName() { return “CrashlyticsErrorModule”; } private […]

如何在远程WebSphere的JNDI查找期间解决sun / io / MalformedInputException

我使用WebSphere 8.5来托管我的应用程序并在应用程序服务器上配置了一些JDBC资源。 我还使用瘦客户端运行时库开发了一个客户端应用程序。 以下列方式执行JNDI查找时: env.put(Context.INITIAL_CONTEXT_FACTORY, “com.ibm.websphere.naming.WsnInitialContextFactory”); env.put(Context.PROVIDER_URL, “corbaloc:iiop:serv:2809”); Context initialContext = new InitialContext(env); DataSource ds = (DataSource) initialContext.lookup(“cell/node/servers/server/MYDB”); 引发以下exception: java.lang.NoClassDefFoundError: sun/io/MalformedInputException at com.ibm.rmi.iiop.CDRReader.getTcsCConverter(CDRReader.java:451) at com.ibm.rmi.iiop.CDRReader.readStringOrIndirection(CDRReader.java:532) at com.ibm.rmi.iiop.CDRReader.read_string(CDRReader.java:518) at com.ibm.rmi.IOR.read(IOR.java:337) at com.ibm.rmi.iiop.Connection._locate(Connection.java:531) at com.ibm.rmi.iiop.Connection.locate(Connection.java:490) at com.ibm.rmi.iiop.GIOPImpl.locate(GIOPImpl.java:229) at com.ibm.rmi.corba.Corbaloc.locateUsingINS(Corbaloc.java:307) at com.ibm.rmi.corba.Corbaloc.resolve(Corbaloc.java:378) at com.ibm.rmi.corba.ORB.objectURLToObject(ORB.java:3796) at com.ibm.CORBA.iiop.ORB.objectURLToObject(ORB.java:3263) at com.ibm.rmi.corba.ORB.string_to_object(ORB.java:3694) at com.ibm.ws.naming.util.WsnInitCtxFactory.stringToObject(WsnInitCtxFactory.java:1645) at com.ibm.ws.naming.util.WsnInitCtxFactory.getWsnNameService(WsnInitCtxFactory.java:1502) at com.ibm.ws.naming.util.WsnInitCtxFactory.getRootContextFromServer(WsnInitCtxFactory.java:1040) at com.ibm.ws.naming.util.WsnInitCtxFactory.getRootJndiContext(WsnInitCtxFactory.java:962) at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:614) […]

如何在.JSP文件中显示列表?

经过一个小时的扎实研究,我仍然无法做到这一点。 这是我的Servlet代码: package com.fdm.ProjectWeb.RedirectServlets; import java.awt.List; import java.io.IOException; import java.sql.ResultSet; import java.sql.SQLException; import javax.naming.spi.DirStateFactory.Result; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.jsp.jstl.sql.ResultSupport; import com.fdm.ProjectWeb.Controller.ValidateRegisterInputController; import com.fdm.ProjectWeb.Model.OraclePullListOfUsers; import com.fdm.ProjectWeb.Model.OracleUserManagement; public class VerifyRedirect extends HttpServlet { private static final long serialVersionUID = 1L; public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ OraclePullListOfUsers […]

使用java连接到vpn后面的http服务器

我想通过VPN连接到REST Web服务。 有没有办法在Java中建立pptp,l2tp ipsec连接到VPN网关和HTTP请求的隧道,而不使用操作系统function? 这很重要,因为我将从servlet连接到多个rest服务。 此服务可能位于不同的VPN后面,我不想将服务器网络与此VPN连接。 有人知道这个API吗?

为什么我的样板Java桌面应用程序JFrame在main方法中使用EventQueue.invokeLater?

我正在使用最新的Eclipse和GWT Designer来用Java创建swing应用程序。 我的应用程序窗口中的主要function(这是一个javax.swing.JFrame)在工具生成的auto中如下所示: /* launch the application */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { AppWindow window = new AppWindow(); window.frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } 这似乎是围绕着这可能是一个很大的噪音: public static void main(String[] args) { try { AppWindow window = new AppWindow(); window.frame.setVisible(true); } […]

使用不同的jdbc驱动程序连接到多个数据库

我需要编写一个基于守护进程的java进程(非基于Web),它将连接到Oracle 10G数据库,从中读取一些数据,然后连接到SQL Server数据库并将数据写入表。 听起来很简单,但我对此有几个疑问。 我需要有两个jdbc驱动程序,一个用于连接到Oracle数据库,另一个用于连接到sql server数据库。 sql server jdbc驱动程序是jtds jdbc驱动程序( http://jtds.sourceforge.net/ ),对于Oracle我将使用标准的oracle jdbc驱动程序。 我可能会遇到类路径中可用的两个驱动程序的任何问题吗? 我的猜测是我需要的是一个ConnectionManager类来管理连接和一个客户端DAO类,它将调用相关的方法来获取它需要的连接,具体取决于它是从Oracle读取还是写入SQL Server。 这是一种合理的方法还是有更好的设计/模式? 编辑 好吧,我试图整理一个快速的设计解决方案。 见下图 我认为我遇到的问题是如何提交。 这是处理流程 InvoiceBD从工厂类获取Oracle连接,并调用InvoiceUploadDAO.readData将Oracle连接对象传递给它。 InvoiceBD从工厂类获取SQL Server连接,并调用InvoiceUploadDAO.writeData,将SQL Server连接对象传递给它。 InvoiceBD重用Oracle连接将InvoiceUploadDAO.update状态调用为Oracle数据库上的“完成”设置状态。 InvoiceBD提交Oracle连接。 InvoiceBD提交SQL Server连接。 或者如果出现问题,两个连接对象都会回滚。 那个听起来是对的吗? 谢谢