Повторение структуры данных (Java)

Вы можете добавить новый метод в MyServiceImpl, который вызывает оба метода createEntity() внутри. После этого вся бизнес-логика внутри этого метода будет обрабатываться транзакционно и автоматически откатываться при возникновении RuntimeException (используйте rollBackFor для проверенных исключений), поскольку ваш класс обслуживания помечен как trasactional. Также все открытые методы из MyServiceImpl становятся транзакционными, если вы добавите аннотацию @Transactional в ваш класс. Нет необходимости в отдельной аннотации для ваших методов (кроме случаев, когда вы хотите изменить некоторые параметры транзакции, такие как изоляция, распространение и т. Д.)

5
задан Daddy Warbox 3 December 2008 в 16:21
поделиться

5 ответов

существует большая рецензия на наборах Java, которая удовлетворяет большинство Ваших потребностей.

короткий совет относительно этого: используйте TreeMap (Компаратор c) с пользовательским Компаратором. ключ является строкой, значение является составным объектом со строкой и числом

8
ответ дан 18 December 2019 в 14:53
поделиться

Это походит на SortedMap. Со Строкой как ключ и Число как значение.

3
ответ дан 18 December 2019 в 14:53
поделиться

Кроме SortedMap, у Вас мог быть a

TreeSet<Pair<String, Number>>
где Вы предоставляете компаратор, чтобы отсортировать пар (или заставить Ваш Парный класс реализовать Сопоставимый и сделать это там).

Это разделяет объекты от структуры данных, и пока для тривиального примера как это это не грандиозное предприятие, можно предположить, что TreeSet <MyObject>, где MyObject реализует Сопоставимый, легче к grok в долгосрочной перспективе.

2
ответ дан 18 December 2019 в 14:53
поделиться

Если у Вас есть дублирующееся строковое значение среди объектов в списке, Вы могли бы хотеть посмотреть на Наборы Google TreeMultimap. С TreeMultimap не только отсортированы ключи, но и все значения, имеющие тот же ключ, также хранятся в наборе.

Multimap<String, Pair> mm = new TreeMultimap<String, Pair>(
      new Comparator<String>(){...}, 
      new PairComparator());
mm.put("A", new Pair("A", 1));
mm.put("B", new Pair("B", 2));
mm.put("B", new Pair("B", 3));
Collection values = mm.values(); 
   // values are [Pair("A", 1), Pair("B", 2), Pair("B", 3)]
Collection bValues = mm.get("B"); 
   // bValues are [Pair("B", 2), Pair("B", 3)]
1
ответ дан 18 December 2019 в 14:53
поделиться

Я сделал что-то похожее на это, я использовал ArrayList для хранения их объектов и записи компараторов для сортировки arrayylist.

-1
ответ дан 18 December 2019 в 14:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: