这是我第一次使用hibernate,我已经完成了一两个教程,我很快就模拟了这个类,看看我是否可以从我的数据库中获取一些东西:
import java.util.Properties;
import org.eclipse.emf.teneo.PersistenceOptions;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.cfg.Environment;
public class Connector {
public static void doStuff() {
Properties props = new Properties();
props.setProperty(Environment.DRIVER, "com.postgres.Driver");
props.setProperty(Environment.USER, "postgres");
props.setProperty(Environment.URL, "jdbc:postgres://127.0.0.1:5432/epic");
props.setProperty(Environment.PASS, "postgres");
props.setProperty(Environment.DIALECT, org.hibernate.dialect.ProgressDialect.class.getName());
props.setProperty(PersistenceOptions.CASCADE_POLICY_ON_NON_CONTAINMENT,
"REFRESH,PERSIST,MERGE");
props.setProperty(PersistenceOptions.INHERITANCE_MAPPING, "JOINED");
Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");// populates the data of the
// configuration file
SessionFactory factory = cfg.buildSessionFactory();
Session session = factory.openSession();
Transaction t = session.beginTransaction();
Query query = session.createQuery("select * from otar");
java.util.List list = query.list();
System.out.println(list);
t.commit();
session.close();
}
public static void main(String[] args) {
doStuff();
}
}
编译器说我丢失了hibernate.cfg.xml
文件,我已经读到它需要在我src
的项目目录中,我还读到它没有为我生成,但我也读到了相反的内容为我生成...我对这个文件的理解是表列映射需要它...它可能有更复杂和有用的用途,但我才刚刚开始,所以就我所知,这里是我的问题:
- 它是为我生成的还是我需要创建它?
- 可以创建吗?像这样的好习惯吗?
- 我手工制作有什么好处。
- 是否有关于如何创建一个的说明?
编辑我忘了提到这是我正在使用的插件项目。