Articles of mysql

HQL com verificação nula para relação um-para-um

Eu tenho a seguinte relação um-para-um no Hibernate (que poderia ser nulo): Estou tentando selecionar todas as entidades que possuem detalhes não nulos com o HQL: from Entity e where e.details is not null mas isso retorna todas as entidades, não importando se os detalhes são nulos ou não. O que seria um HQL correto […]

Java PreparedStatement e ON DUPLICATE KEY UPDATE: como eu sei se a linha foi inserida ou atualizada?

Tendo o seguinte código, como sei se o método execute () resultou em inserir ou atualizar: Connection c = DriverManager.getConnection(connectionString); PreparedStatement st = c.prepareStatement(“INSERT INTO `table`(`field1`) VALUES (?) ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);”); st.setString(1,”some value”); st.execute(); Desde já, obrigado.

JDBC Batch executando extremamente lento

Alguém pode me dizer o que estou fazendo errado? Estou executando 350 inserções em um mysql e está levando 40 segundos. Aqui está o código long t0 = System.currentTimeMillis(); Connection con = connectionProvider.getConnection(); PreparedStatement s = con.prepareStatement(“insert into domkee.friends(idFriends,friend1Id,friend2Id,friend2Name) values(?,?,?,?)”); con.setAutoCommit(false); for (Friend f : friends) { s.setLong(1, 0); s.setLong(2, f.getFriend1Id()); s.setLong(3, f.getFriend2Id()); s.setString(4, f.getFriend2Name()); […]

Fonte de dados rejeitou estabelecimento de conexão, mensagem do servidor: “Muitas conexões”

Eu estou tentando fazer conexões com meu database usando a biblioteca de pool de conexão: DBPool . Aqui está o meu código fonte. DBUtils.java package DB; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import javax.sql.ConnectionPoolDataSource; import snaq.db.ConnectionPool; import com.mysql.jdbc.Driver; /** * @author decorrea */ public class DBUtils { public static String jdbc_driver_name = “com.mysql.jdbc.Driver”; private static […]

Tempo limite de espera de bloqueio excedido; tente reiniciar a transação usando o JDBC

Eu tenho uma tabela MySQL chamada Student com duas colunas Student_id e name . Estou triggersndo duas consultas usando dois objects de conexão e está me dando uma exceção: Exception in thread “main” java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2713) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2663) […]

Conexão SSL ao servidor MySQL com Java

Eu estou tentando se conectar a um servidor MySQL usando Java sobre SSL. Eu estou recebendo a seguinte exceção: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Cannot connect to MySQL server on www.mysite.com:3306. Make sure that there is a MySQL server running on the machine/port you are trying to connect to and that the machine this software is running on is […]

Como usar a mesma conexão para duas consultas no Spring?

Eu tenho o seguinte código em um dao baseado em Spring JdbcTemplate – getJdbcTemplate().update(“Record Insert Query…”); int recordId = getJdbcTemplate().queryForInt(“SELECT last_insert_id()”); O problema é que às vezes minhas consultas update e queryForInt são executadas usando conexões diferentes do pool de conexões. Isso resulta em um recordId incorreto sendo retornado, já que MySQL sup_insert_id () deve […]

Junção de dados da mola com especificações

Eu estou tentando converter esta consulta sql crua: select product.* from following_relationship join product on following_relationship.following=product.owner_id where following_relationship.owner=input Nas especificações da Spring Data, acho que o meu problema até agora é entrar nessas tabelas. Aqui está minha conversão atual em Especificação: protected Specification test(final User user){ return new Specification() { @Override public Predicate toPredicate(Root root, […]

Cache no JDBC

Eu quero usar o cache com o JDBC. Como posso conseguir isso? Existe algum mecanismo interno ou eu tenho que usar soluções de terceiros? Qual é a melhor prática para o armazenamento em cache com o JDBC. Obrigado Jack EDITED: e sobre o CachedRowSet? http://docs.oracle.com/javase/tutorial/jdbc/basics/cachedrowset.html

Quando é um database chamado como um database incorporado?

O termo ‘database embutido’ tem significado diferente de ‘database’?