testcustomentities.java

来自「向数据库添加用户自定义字段」· Java 代码 · 共 47 行

JAVA
47
字号
package com.enterra.customfieldsdemo.test;

import java.io.Serializable;

import org.hibernate.Session;
import org.hibernate.Transaction;

import com.enterra.customfieldsdemo.CustomizableEntityManager;
import com.enterra.customfieldsdemo.CustomizableEntityManagerImpl;
import com.enterra.customfieldsdemo.HibernateUtil;
import com.enterra.customfieldsdemo.domain.Contact;

public class TestCustomEntities {
	private static final String TEST_FIELD_NAME = "email";

	private static final String TEST_VALUE = "test@test.com";

	public static void main(String[] args) {
		HibernateUtil.getInstance().getCurrentSession();

		CustomizableEntityManager contactEntityManager = new CustomizableEntityManagerImpl(Contact.class);

		contactEntityManager.addCustomField(TEST_FIELD_NAME);

		Session session = HibernateUtil.getInstance().getCurrentSession();

		Transaction tx = session.beginTransaction();
		try {

			Contact contact = new Contact();
			contact.setName("Contact Name 1");
			contact.setValueOfCustomField(TEST_FIELD_NAME, TEST_VALUE);
			Serializable id = session.save(contact);
			tx.commit();

			contact = (Contact) session.get(Contact.class, id);
			Object value = contact.getValueOfCustomField(TEST_FIELD_NAME);
			System.out.println("value = " + value);

		}
		catch (Exception e) {
			tx.rollback();
			System.out.println("e = " + e);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?