Как красный блок выше (предупреждение о том, что это субъективный вопрос и может быть закрыто), на этом не может быть каменного закона, но я не понимаю, почему будет гарантировать закрытие вопроса.Наименования полей (имена теней или имена компаундов)
... Рант в стороне
Я планирую на реализацию Hibernate в моих рамках настойчивости, которая может исправить мою проблему при реализации, но у меня есть DB таблица, которые транслируют в классе и суб-класс (много особенностей и осложнений которые существуют в реальной жизни опущены :)):
//dbo.a with column Name
class a {
public String Name;
}
//dbo.b with column Name and a foreign key to dbo.a
class b extends a {
public String Name;
}
Итак, для того, что должно быть сделано, и почему:
Shadowing:
я мог оставить их как есть, что бы требуют некоторой умственной рефлексии (за http://forums.sun.com/thread.jspa?threadID=5419973) при работе с объектами, типы которых неизвестны при компиляции.
Составных названия:
Я мог бы назвать все мои поли предшествуют имени своего класса т.е. a.aName
и b.bName
, который получает действительно некрасиво в реальной жизни: Door.DoorName
и RotatingDoor.RotatingDoorName
Получатели и сеттера:
Я Жду» Это можно сказать об этом, поскольку с помощью JavaBeans они будут получены из имен полей, и я считаю, что Hibernate использует аннотированные POJO.
повлиять на результаты немного, затенение, кажется, самый надежный, по крайней мере, в моем случае, когда класс a
расширяет абстрактный класс с Name
определен, то b
тени со своей собственной Name
когда это применимо. Использование составных имен означало бы, что если бы я захотел добавить столбец NickName
ко всем моим таблицам БД, тогда мне нужно было бы добавить это поле к каждому типу (а затем, в чем смысл наследования ?!)
В конце концов я решил выяснить, какие люди, которые, надеюсь, испытали плюсы и минусы реализации одного или нескольких из этих методов, должны сказать по этому вопросу; или что удобный камень травлению лучшая практика будет делать :)
-Nomad311
Спасибо за подсказку, после перерыва я проверю это и прочитаю в Hibernate. Я рад, что я еще не посвятил свой уровень данных еще ... Он бы втянул в реализацию одного из этих решений, чтобы найти, что он несовместим с Hibernate или, возможно, с любой другой инфраструктурой персистентности! – LostNomad311