草庐IT

my_sql_db

全部标签

java - XA/JTA 事务 : JMS message arrives before DB changes are visible

上下文是:生产者(JTA事务PT)正在向JMS队列发送消息并进行数据库更新;consumer(JTAtransactionCT)在同一个队列上监听并在收到消息时读取DB;应用服务器-WebLogic,数据库-Oracle。我观察到,有时CT(还?)无法看到PT的数据库更改,如果已收到相应的JMS消息(PTpromise了吗?)。似乎JTA不能保证这种一致性(这在JurgenHoller的演讲“TransactionChoicesforPerformance”中也得到了证实)。避免此类问题的最佳方法是什么(明显的除外-不使用JTA)?谢谢。 最佳答案

java - 如何从 java.sql.Connection 获取用户名?

我有一个在Weblogic中创建的SQLServer数据源,用户名为“sa”。在代码中,我使用以下方法获取用户名。Contextctx=newInitialContext(prop);Objectobj=ctx.lookup("sqlserver1");System.out.println("DataSourceFound….");DataSourceds=(DataSource)obj;Connectionconn=ds.getConnection();DatabaseMetaDatamtdt=conn.getMetaData();//GetUserNameSystem.out.pr

java - hibernate导入import.sql失败

我想在每次应用程序运行时自动删除表格并创建一个新表格,并自动插入预定义的数据。我已经在import.sql中准备了数据。我已经在application.properties中设置了spring.jpa.hibernate.ddl-auto=create-drop。但是,为什么会出现以下错误?我可以手动插入它。2015-11-2020:53:57.242ERROR7092---[ost-startStop-1]org.hibernate.tool.hbm2ddl.SchemaExport:HHH000388:Unsuccessful:INSERTINTOgender2015-11-202

java - 从 Java 插入到 SQL Server 时,我可以获得类似 "BULK INSERT"的速度吗?

在寻找从Java获取数据到SQLServer的最快方法的过程中,我注意到我能想到的最快的Java方法仍然比使用BULKINSERT慢12倍。我的数据是从Java中生成的,而BULKINSERT只支持从文本文件中读取数据,因此除非我将数据输出到临时文本文件,否则不能使用BULKINSERT。反过来,这当然会对性能造成巨大影响。从Java插入时,插入速度约为每秒2500行。甚至当我在for循环之后和executeBatch之前测量时间时。因此,在内存中“创建”数据不是瓶颈。使用BATCHINSERT插入时,插入速度约为每秒30000行。这两个测试都是在服务器上完成的。所以网络也不是瓶颈。关

java - 当我选择带有 AS 关键字的常量时,PostgreSQL 返回 java.sql.Types.OTHER

当通过java在Postgres上运行选择时SELECT''ASCOL1,0ASCOL2FROMMYTABLE1=2;COL1和COL2的列类型都是Types.OTHER。很明显结果集没有任何行。但是如果我使用下面的查询在结果集中有行:SELECT''ASCOL1,0ASCOL2FROMMYTABLE;COL1的类型仍然是Types.OTHER,但COL2的类型是Types.INTEGER。在我的例子中,我需要Types.VARCHAR和Types.INTEGER甚至结果是否为空。在db层或jdbcurl上是否有任何配置来获取Types.VARCHAR和Types.INTEGER两个查

java - 当调用 openSession 并且无法建立与 DB 的连接时,Hibernate 不会抛出异常

当我配置hibernate以连接到数据库并且由于某种原因连接失败时,我注意到它在构建工厂(这是可以接受的)和我调用sessionFactory.openSession()(这是不太能接受)。更烦人的是,在我调用sessionFactory.openSession()之后,session.isConnected()返回true。(这是完全不能接受的)。到那一刻唯一告诉我它没有连接到数据库的提示是一个WARN日志条目,它由它在内部捕获并发送到记录器的java.sql.SQLException引起。除了创建一个伪事务来强制异常之外还有其他获取连接状态的方法吗?(也许配置中的一个选项说“不记录

Mac 上的 Java : How do I detect when my application receives focus?

我浏览了ApplicationListener,他们那里没有。在Mac上,当该应用程序具有等效的焦点时;它的菜单在顶部菜单栏中。此外,如果您知道这一点,能否告诉我我的应用程序如何请求自行散焦? 最佳答案 windowActivated()和windowDeactivated()的实现WindowListener或WindowAdapter会告诉您窗口何时被激活或停用。你不需要ApplicationListener为此。附录:虽然在这种情况下不需要,但在ApplicationListener中指定的附加功能的透明实现可以在这个exam

java - 是否可以将 show_sql 的所有输出放在一个单独的文件中?

在本地开发或运行使用hibernate的springmvc应用程序时,如果我能将所有sql的输出放到一个单独的文件中,那就太好了。这可能吗?我知道有一个hibernate属性show_sql但我相信它会与所有其他log4j日志记录信息混在一起,对吗? 最佳答案 将org.hibernate.SQL类别设置为DEBUG并为其使用特定的附加程序。另见3.5.Logging 关于java-是否可以将show_sql的所有输出放在一个单独的文件中?,我们在StackOverflow上找到一个类似

java - 如何拦截Hibernate生成的SQL?

对于作为老大哥工作的安全系统(如监视强制访问控制),我们必须拦截和处理hibernate生成的所有选择语句。我们将用户、时间戳和sql选择存储在数据库中,以便使用其他工具进行一些分析。这些信息可以确定用户试图查看的内容。对于select语句,准备好的属性很有值(value)。我们需要包含所有参数的完整SQL语句。有没有我们可以加入并处理所有这些事情的监听器或拦截器?目前最大的突出问题是语句参数的收集。谢谢 最佳答案 当org.hibernatepackageissettoDEBUG,andwiththehibernate.show_

java - 我如何通过 JDBC 调用返回 UDO 的 PL/SQL 函数并解释该结果?

假设我的UDO(用户定义对象)是:createorreplaceTYPEUDO_PERSONASobject(NAMEVARCHAR2(100),AGEINTEGER);我有一个PL/SQL函数createorreplaceFUNCTIONCREATE_A_PERSON(NAMEVARCHAR2)RETURNUDO_PERSONASAGEINTEGER;BEGINSELECTdbms_random.value(1,100)INTOAGEFROMDUAL;RETURNNEWUDO_PERSON(NAME,AGE);ENDCREATE_A_PERSON;我测试了以下方法并且它有效,并且有一