在一台服务器上,当我运行时:
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2009-05-30 16:54:29 |
+---------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
在另一台服务器上
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2009-05-30 20:01:43 |
+---------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置一个简单的hibernate应用程序,当我运行它时,我得到一个充满错误的堆栈跟踪.
我的文件中有以下maven依赖项pom.xml:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.0.Final</version>
</dependency>
<!-- http://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我在本地运行的mysql版本是:
5.7.9, for osx10.11 (x86_64)
Run Code Online (Sandbox Code Playgroud)
我正在运行,似乎是一种非常简单的方法,但仍然会出现错误:
// create session factory
SessionFactory factory = new Configuration()
.configure("hibernate.cfg.xml")
.addAnnotatedClass(Model.class)
.buildSessionFactory();
// create session
Session session = factory.getCurrentSession();
Model newModel = new Model("....", "...", "...");
// start a transaction
session.beginTransaction();
// save the student object
System.out.println("Saving the model...");
session.save(newModel);
Run Code Online (Sandbox Code Playgroud)
执行上面的操作后,我得到一个很长的堆栈跟踪...... System.out.println也没有打印...所以连接似乎没有连接.
INFO: HHH000115: Hibernate connection pool size: 1 (min=1)
Thu Jun 09 17:36:28 EST 2016 WARN: …Run Code Online (Sandbox Code Playgroud) 当我试图创建一个新的EntityManager来保存我的数据时,我得到以下错误:
javax.persistence.PersistenceException:无法构建实体管理器工厂
我使用的是Hibernate的JPA-Persistence Provider ...
不幸的是我在stackoverflow/google搜索中找不到任何有用的帖子......
有没有人知道错误的原因在哪里?
谢谢您的帮助!
代码片段:
创建实体管理者
EntityManager em;
EntityManagerFactory fact = Persistence.createEntityManagerFactory("bachelordebug"); // Here it crashes
em = fact.createEntityManager();
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪
javax.persistence.PersistenceException: Unable to build entity manager factory
at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:81)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:54)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
at com.uzh.platform.api.util.AssignmentUtil.findAll(AssignmentUtil.java:20)
at com.uzh.platform.api.services.GetAssignments.getAssignments(GetAssignments.java:22)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:151)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:171)
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:152)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:402)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:349)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:106)
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:259)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:267) …Run Code Online (Sandbox Code Playgroud) 我的问题
MySQL连接器"服务器时区值中欧时间"无法识别或代表多个时区.
该项目
小型Web项目:JavaEE,Tomcat 8.5,MySQL,Maven
我的尝试
context.xml中的连接
URL ="jdbc:mysql://127.0.0.1:3306/rk_tu_lager?useLegacyDatetimeCode = false; serverTimezone = CEST; useSSL = false;
错误:
引起:com.mysql.cj.core.exceptions.InvalidConnectionAttributeException:服务器时区值'Mitteleurop?ische Sommerzeit'无法识别或代表多个时区.如果要使用时区支持,则必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更具体的时区值.
我在my.conf文件中使用default_time_zone ='+ 00:00'并重启mysql服务器.但是再次默认时区显示SYSTEM.
package miniproject;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Mysql_connection {
private Connection con=null;
private Statement st=null;
private ResultSet res=null;
public Mysql_connection() {
try{
//Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql:?//localhost:3306/miniprojectdb","root","");
st=con.createStatement();
}catch(SQLException e)
{
System.out.println("SQLException: "+ e.getMessage());
System.out.println("SQLState: "+ e.getSQLState());
System.out.println("VendorError"+ e.getErrorCode());
}
}
public void Data(){
try{
String query="select * from produit";
res=st.executeQuery(query);
System.out.println("=========================");
while(res.next()){
int a=res.getInt(1);
String b=res.getString(2);
int c=res.getInt(3);
System.out.println("ProdID:"+a+" "+"ProdNom:"+b+" "+"Prix/Tonne:"+c);
}
}catch(Exception e){
System.out.println(e);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
SQLException:无法加载连接类,因为底层异常:com.mysql.cj.exceptions.WrongArgumentException:格式错误的数据库 URL,无法解析主 URL 部分。
SQLState: 08001 …
当我在JDBC连接属性中设置useLegacyDatetimeCode = false时,我收到以下错误消息:
java.sql.SQLException:服务器时区值'CET'表示多个时区.如果要使用时区支持,则必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更具体的时区值.'CET'映射的时区是:欧洲/地拉那,欧洲/安道尔,欧洲/维也纳,欧洲/明斯克,欧洲/布鲁塞尔,欧洲/索非亚,欧洲/布拉格,欧洲/哥本哈根,欧洲/塔林,欧洲/柏林,欧洲/直布罗陀,欧洲/雅典,欧洲/布达佩斯,欧洲/罗马,欧洲/里加,欧洲/瓦杜兹,欧洲/维尔纽斯,欧洲/卢森堡,欧洲/马耳他,欧洲/基希讷乌,欧洲/提拉斯波尔,欧洲/摩纳哥,欧洲/阿姆斯特丹,欧洲/奥斯陆,欧洲/华沙,欧洲/里斯本,欧洲/加里宁格勒,欧洲/马德里,欧洲/斯德哥尔摩,欧洲/苏黎世,欧洲/基辅,欧洲/乌日哥罗德,
我理解这条消息告诉我的是什么,但我不知道该怎么做.我无法知道MySQL服务器运行的时区(这是我的客户安装的软件,而且服务器不是由我管理的).
我需要将此属性设置为false以修复MySQL时区错误.
我正在尝试连接Netbeans中的MySQL数据库,并在第一步 - 连接数据库时停留.我的数据库在控制台上工作正常 - 尝试命令mysqladmin -u root -p ping,它说mysql id是活着的.我甚至从控制台创建了数据库.现在当我在Netbeans中注册它
Server Host Name:localhost
Server Port:3306
Admin user : root
Admin password :<the password which works on console>
Run Code Online (Sandbox Code Playgroud)
和管理员属性:
Path to admin tool: C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqladmin.exe
Argument : <blank>
Path to start command:C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe
Argument : --console <as suggested in http://forums.netbeans.org/topic12767.html>
Path to stop command:C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqladmin.exe
Argument : -u root shutdown
Run Code Online (Sandbox Code Playgroud)
但我仍然得到消息: - "本地主机上的MySQL服务器:3306 [root](断开连接)"
如果我右键单击并选择"开始"或"连接"我在任务栏中收到消息 - 等待MYSQL服务器启动...无限时间.
任何帮助我在这里做错了什么???
我想通过 IntelliJ IDEA 将 MySQL 与 Java 连接。
我正在使用MySQL。设置为:
主机:127.0.01
端口:3306
用户:root
我要使用的数据库名称是 School。
在 IntelliJ 中,我添加 DB Navigator,设置为:
名称 学校
描述:..
主机:localhost
端口:3306
用户:root
密码:在 MySQL 中工作的密码
毕竟我得到一个错误:
“无法连接到学校。服务器时区值“CET”无法识别或代表多个时区。如果您想要利用时区支持。
我使用波兰时区。您对如何修复它有什么建议吗?